package com.example.logic.chapter8.demo01;

/**
 * @Date 2023-05-02
 * @Author Jonathan
 */
public class Client {
    public static void main(String[] args) {
        Pair<Integer> pair = new Pair<>(1, 100);
        System.out.println("first---->" + pair.getFirst());
        System.out.println("second---->" + pair.getSecond());

//        Pair0<String, Integer> pair0 = new Pair0<>("Jonathan", 100);
//        System.out.println(pair0.getFirst());
//        System.out.println(pair0.getSecond());

        Pair0<Integer, String> makePair = Pair0.makePair(10010, "Jonathan");
        System.out.println(makePair.getFirst());
        System.out.println(makePair.getSecond());

        NumberPair<Integer, Double> pair1 = new NumberPair<>(10, 12.3);

        System.out.println("sum =====> " + pair1.sum());

        /*
         *虽然Integer是Number的子类，但DynamicArray<Integer>并不是DynamicArray<Number>的子类，
         * DynamicArray<Integer>的对象也不能赋值给Dynamic-Array<Number>的变量，
         * 这一点初看上去是违反直觉的，但这是事实，必须要理解这一点。
         */
        // numbers 是一个Number类型的容器
        DynamicArray<Number> numbers = new DynamicArray<>();
        // ints 是一个Integer类型的容器
        DynamicArray<Integer> ints = new DynamicArray<>();
        ints.add(100);
        ints.add(34);
        //numbers.addAll0(ints);
        numbers.addAll1(ints);


    }
}
